#ifndef VERTEX_DECLARATION
#define VERTEX_DECLARATION
namespace gname
{
	
	enum VertexAttributes
		{
			V_VERTEX         =  0,
			V_NORMALS        =  2,
			V_TANGENTS       =  3,
			V_BINORMAL       =  4,
			V_TEXCOORD       =  5,
			V_MAX_TEXCOORDS   = 8,
		

			V_TEX_COORD0 = 2048,
			V_TEX_COORD1 = 4096,
			V_TEX_COORD2 = 8192,
			V_TEX_COORD3 = 16384,
			V_TEX_COORD4 = 32768,
			V_TEX_COORD5 = 131072,
			V_TEX_COORD6 = 262144,
			V_TEX_COORD7 = 524288
		};
	
	
	class VertexDeclaration
	{
		
	public:
		VertexDeclaration(){};
		virtual ~VertexDeclaration(){};
		virtual void AddAttribute(VertexAttributes va, int typeSiz,void *p,int numComp = 3, int t = 0x1406 ) = 0;
		virtual int  GetArribsSize() const = 0;
	   // virtual void ApplyAttributes() const = 0;
	};
}
#endif